1.1.4 React Native运行原理

初始化 React Native

  • 1.读取 JavaScript 源码

    • JavaScript 加载进内存, JSX 代码已经被转化成原生的 JavaScript 代码
  • 2.初始化模块信息

    • 这一步在方法 initModulesWithDispatchGroup中实现,主要任务是找到所有需要暴露给 JavaScript的类
  • 3.初始化 JavaScript 代码的执行器,即 RCTJSCExecutor 对象

  • 4.生成模块列表并写入 JavaScript 端

  • 5.执行 JavaScript 源码

在 React Native 中,Objective-C 和 JavaScript 的交互都是通过传递 ModuleId 、 MethodId、CallbackID和 Arguments 进行的,大概流程是这样:

JS调用OC方法——> 通过配置表转换参数(ModuleId MethodId CallbackID Arguments)——> 传递参数到消息队列——>
OC拿到参数并通过配置列表执行对应函数——> 执行后返回回调ID和参数 ——> JS执行通过ID执行回调函数

参考